HTTP (HyperText Transfer Protocol) হলো ওয়েবের সাথে যোগাযোগের মূল প্রটোকল। HTTP রিকোয়েস্টের মাধ্যমে ব্রাউজার এবং সার্ভারের মধ্যে তথ্য আদান-প্রদান করা হয়। HTTP প্রটোকলে বিভিন্ন methods ব্যবহার করা হয়, যেমন GET, POST, PUT, এবং DELETE। এগুলো HTTP রিকোয়েস্টের ধরন নির্ধারণ করে, যা সার্ভারকে জানায় যে কী ধরনের কাজ বা অপারেশন করতে হবে।
নিচে GET, POST, PUT, এবং DELETE এর ব্যবহার এবং উদ্দেশ্য বিস্তারিতভাবে আলোচনা করা হলো:
১. GET
GET মেথডটি সাধারণত ডেটা বা রিসোর্স পড়তে (retrieve) ব্যবহৃত হয়। এটি একটি রিড-অনলি অপারেশন, যা সার্ভার থেকে কোনো রিসোর্স বা ডেটা ফেচ করার জন্য ব্যবহৃত হয়। GET মেথডের মাধ্যমে ডেটা শুধুমাত্র সার্ভারের কাছে অনুরোধ করা হয়, কিন্তু এটি সার্ভারের ডেটা পরিবর্তন করে না।
বৈশিষ্ট্য:
- ডেটা শুধুমাত্র রিড (পড়ার জন্য) করা হয়।
- GET রিকোয়েস্টে URL-এর অংশ হিসেবে প্যারামিটার প্রেরণ করা যায়।
- ক্যাশে করা হতে পারে এবং বুকমার্ক করা যেতে পারে।
- নিরাপদ এবং আইডেমপটেন্ট (একই রিকোয়েস্ট একাধিকবার করা হলে ফলাফল একই থাকে)।
ব্যবহার:
GET /users/123 HTTP/1.1
Host: example.com
এখানে, সার্ভারকে বলা হচ্ছে users/123 ইউআরএল থেকে ডেটা নিয়ে আসতে।
২. POST
POST মেথডটি সাধারণত ডেটা পোস্ট বা সাবমিট করতে ব্যবহৃত হয়, যেমন নতুন রিসোর্স তৈরি করা বা ডেটা সার্ভারে পাঠানো। POST রিকোয়েস্টে সাধারণত একটি বডি থাকে, যেখানে ডেটা অন্তর্ভুক্ত থাকে, এবং এই ডেটা সার্ভারের ডেটাবেস বা অন্য রিসোর্সে সঞ্চিত হতে পারে।
বৈশিষ্ট্য:
- ডেটা সার্ভারে প্রেরণ করা হয় এবং সাধারণত নতুন রিসোর্স তৈরি করা হয়।
- POST রিকোয়েস্টের মাধ্যমে ডেটা নিরাপদে পাঠানো যেতে পারে, কারণ এটি URL এর অংশে থাকে না।
- নন-আইডেমপটেন্ট (একই রিকোয়েস্ট একাধিকবার করা হলে ফলাফল পরিবর্তিত হতে পারে)।
ব্যবহার:
POST /users HTTP/1.1
Host: example.com
Content-Type: application/json
{
"name": "John Doe",
"email": "johndoe@example.com"
}
এখানে, নতুন user তৈরি করতে ডেটা পাঠানো হচ্ছে।
৩. PUT
PUT মেথডটি একটি রিসোর্স আপডেট করতে ব্যবহৃত হয়, তবে এটি একটি রিসোর্সের সম্পূর্ণ ডেটা পুনঃলিখন (overwrite) করে। PUT রিকোয়েস্টে রিসোর্সের নতুন ডেটা পাঠানো হয়, এবং এটি আগের ডেটাকে সম্পূর্ণরূপে প্রতিস্থাপন করে।
বৈশিষ্ট্য:
- ডেটা সম্পূর্ণভাবে আপডেট করা হয়।
- আইডেমপটেন্ট (একই রিকোয়েস্ট একাধিকবার করা হলে ফলাফল একই থাকে)।
- PUT রিকোয়েস্টে ডেটা পাঠানোর সময় এটি ইউআরএল-এ নির্দিষ্ট রিসোর্সের জন্য প্রেরণ করা হয়।
ব্যবহার:
PUT /users/123 HTTP/1.1
Host: example.com
Content-Type: application/json
{
"name": "John Doe",
"email": "newemail@example.com"
}
এখানে, user 123 এর ডেটা আপডেট করা হচ্ছে।
৪. DELETE
DELETE মেথডটি কোনো রিসোর্স মুছে ফেলা বা ডিলিট করতে ব্যবহৃত হয়। এটি সাধারণত সার্ভার থেকে কোনো নির্দিষ্ট রিসোর্স মুছে ফেলার জন্য ব্যবহৃত হয়।
বৈশিষ্ট্য:
- একটি নির্দিষ্ট রিসোর্স মুছে ফেলা হয়।
- আইডেমপটেন্ট (একই রিকোয়েস্ট একাধিকবার করা হলে ফলাফল একই থাকে)।
- এই মেথডে সাধারণত কোনো বডি থাকে না, শুধুমাত্র রিসোর্সের ইউআরএল পাঠানো হয়।
ব্যবহার:
DELETE /users/123 HTTP/1.1
Host: example.com
এখানে, user 123 রিসোর্সটি সার্ভার থেকে মুছে ফেলা হচ্ছে।
সারাংশ
HTTP মেথডগুলি ওয়েব অ্যাপ্লিকেশন বা API-এর মধ্যে তথ্য আদান-প্রদান এবং রিসোর্স পরিচালনা করতে ব্যবহৃত হয়। প্রতিটি মেথডের উদ্দেশ্য আলাদা:
- GET: রিসোর্স বা ডেটা পড়ার জন্য।
- POST: নতুন রিসোর্স তৈরি বা ডেটা সার্ভারে পাঠানোর জন্য।
- PUT: বিদ্যমান রিসোর্স সম্পূর্ণরূপে আপডেট করার জন্য।
- DELETE: রিসোর্স মুছে ফেলার জন্য।
এই মেথডগুলো HTTP প্রটোকলের ভিত্তিতে ডেটা পরিচালনা করতে সহায়ক, এবং সঠিক ব্যবহারে অ্যাপ্লিকেশনের কার্যকারিতা এবং নিরাপত্তা নিশ্চিত করতে সহায়ক।
Read more